# -*- coding: utf-8 -*-#
#-------------------------------------------------------------------------------
# 建立者:        Young  
# Name:         demo12.07
# Description:
# Author:       $赵怡蕾
# Date:         2019/3/18
#-------------------------------------------------------------------------------

a = set([1,2])
b = set([10,20])
# 向a集合中添加一个元素值
a.add(4)
# 运行结果：{1, 2, 4}
print(a)
# 下面的代码会抛出异常，集合b不能作为元素值添加进集合a
# a.add(b)
# 使用frozenset函数将b集合变成只读的集合，成功将其添加到集合a
a.add(frozenset(b))
# 运行结果：{frozenset({10, 20}), 1, 2, 4}
print(a)
# 定义一个字典
d = {'Bill':30,'Mike':40}
# 集合a同样不能作为字典的key，执行下面的代码会抛出异常
# d[a] = 60
# 使用frozenset类型将a集合转换为只读集合后，可以作为字典的key
d[frozenset(a)] = 60
# 运行结果：{'Bill': 30, 'Mike': 40, frozenset({frozenset({10, 20}), 1, 2, 4}): 60}
print(d)


t = [1,2,3]
tt = (1,2,3)
# 列表不能作为字典的key，执行下面的代码会抛出异常
# d[t] = 111
# 列表不能作为集合的元素，执行下面的代码会抛出异常
# a.add(t)
# 字典不能最为集合的元素，执行下面的代码会抛出异常
# a.add(d)
# 元组可以作为集合的元素
a.add(tt)
# 运行结果：{1, 2, 4, frozenset({10, 20}), (1, 2, 3)}
print(a)
